/*
  高精度除以低精度
  题目描述
    请从键盘读入一个高精度整数 a（不超过 100 位），再读入另一个单精度整数 b（b不超过 8 位），
    请求出 a 除以 b 得到的商，是多少？
  输入
    输入有 2 行，第一行有一个整数 a（不超过 100 位），第二行有一个整数 b。
  输出
    请输出 a/b 得到的商。
  样例输入
    8162148605591693302243
    20136
  样例输出
    405351043185920406
*/

#include <bits/stdc++.h>

using namespace std;

int main() {
    string a, c; // a = 被除数, c = 商
    int b;  // 表示除数
    int ys = 0; //表示余数

    cin >> a >> b; // 输入被除数和除数

    for (int i = 0; i < a.size(); i++) {//遍历
        int num = a[i] - '0'; // 小被除数
        num = num + ys * 10;  // 加上余数
        c = c + char(num / b + '0'); // 小被除数除以除数, 得到对应的小商(最终商的一部分)
        ys = num % b; // 求余数
    }

    // 去除前导零
    while (c.size() > 1 && c[0] == '0') {
        c.erase(0, 1);
    }

    cout << c; // 输出

    return 0;
}